package org.behrang.macbeans;

import javax.swing.BorderFactory;
import org.behrang.macbeans.tab.camino.CaminoLowerTabControlBorder;
import org.behrang.macbeans.tab.camino.CaminoUpperTabControlBorder;
import org.behrang.macbeans.tab.coda.CodaColors;
import org.behrang.macbeans.tab.coda.CodaLowerEditorTabControlBorder;
import org.behrang.macbeans.tab.coda.CodaUpperEditorTabControlBorder;
import org.behrang.macbeans.tab.coda.CodaUpperTabControlBorder;
import org.netbeans.swing.plaf.LFCustoms;

/**
 *
 * @author behrangsa
 */
public class MacBeansLFCustoms extends LFCustoms {

    public static final int CODA_THEME = 1;
    public static final int CAMINO_THEME = 2;    
    
    public static final String VIEW_TAB_DISPLAYER_SELECTED_TAB_TEXT = "viewTabDisplayerSelectedTabText";
    public static final String VIEW_TAB_DISPLAYER_NORMAL_TAB_TEXT = "viewTabDisplayerNormalTabText";
    
    int theme = CODA_THEME;

    @Override
    public Object[] createApplicationSpecificKeysAndValues() {
        Object[] result = null;
        switch (theme) {
            case CODA_THEME:
                result = new Object[] {
                    EDITOR_TAB_DISPLAYER_UI, "org.behrang.macbeans.tab.coda.CodaEditorTabDisplayerUI",                    
                    EDITOR_TAB_OUTER_BORDER, BorderFactory.createEmptyBorder(),
                    EDITOR_TAB_CONTENT_BORDER, new CodaLowerEditorTabControlBorder(),
                    EDITOR_TAB_TABS_BORDER, new CodaUpperEditorTabControlBorder(),
                    
                    VIEW_TAB_DISPLAYER_UI, "org.behrang.macbeans.tab.coda.CodaViewTabDisplayerUI",
                    VIEW_TAB_CONTENT_BORDER, new CaminoLowerTabControlBorder(),
                    VIEW_TAB_TABS_BORDER, new CodaUpperTabControlBorder(),
                    VIEW_TAB_OUTER_BORDER, BorderFactory.createEmptyBorder(),
                    
                    TOOLBAR_UI, "org.behrang.macbeans.tab.MacBeansToolbarUI",
                    EDITOR_TOOLBAR_BORDER, BorderFactory.createEmptyBorder(),
                    
                    VIEW_TAB_DISPLAYER_SELECTED_TAB_TEXT, CodaColors.SELECTED_VIEW_TAB_TEXT,
                    VIEW_TAB_DISPLAYER_NORMAL_TAB_TEXT, CodaColors.NORMAL_VIEW_TAB_TEXT,
                    
                    SLIDING_BUTTON_UI, "org.behrang.macbeans.tab.bm.BMSlidingButtonUI",
                };
                break;
            case CAMINO_THEME:
            default:
                result = new Object[]{
                    EDITOR_TAB_DISPLAYER_UI, "org.behrang.macbeans.tab.camino.CaminoEditorTabDisplayerUI",                    
                    EDITOR_TAB_OUTER_BORDER, BorderFactory.createEmptyBorder(),
                    EDITOR_TAB_CONTENT_BORDER, new CaminoLowerTabControlBorder(),
                    EDITOR_TAB_TABS_BORDER, new CaminoUpperTabControlBorder(), 
                    
                    VIEW_TAB_DISPLAYER_UI, "org.behrang.macbeans.tab.coda.CodaViewTabDisplayerUI",
                    VIEW_TAB_CONTENT_BORDER, new CaminoLowerTabControlBorder(),
                    VIEW_TAB_TABS_BORDER, new CodaUpperTabControlBorder(),
                    VIEW_TAB_OUTER_BORDER, BorderFactory.createEmptyBorder(),
                    
                    TOOLBAR_UI, "org.behrang.macbeans.tab.MacBeansToolbarUI",                            
                    EDITOR_TOOLBAR_BORDER, BorderFactory.createEmptyBorder(),                            
                    
                    SLIDING_BUTTON_UI, "org.behrang.macbeans.tab.bm.BMSlidingButtonUI"
                };
        }

        return result;
    }

    @Override
    public Object[] createGuaranteedKeysAndValues() {
        return super.createGuaranteedKeysAndValues();        
    }

    @Override
    public Object[] createLookAndFeelCustomizationKeysAndValues() {        
        return super.createLookAndFeelCustomizationKeysAndValues();
    }
}
